/**
 * File Name	: FSpec.h
 * Location		: /Data/
 * Lib.Name		: Data.a
 * Designer		: OS (12-09-06)
 */

#pragma once

#include "FixedFSpec.h"

namespace Core
{
	/**
	 * Kelas pembungkus kumpulan Data Field, dengan Daftar Isi
	 */
	class FSpec : public FixedFSpec
	{
	public:
		/**
		 * Konstruktor yang meminta number of FRN
		 */
		FSpec();

		/**
		 * Destruktor
		 */
		virtual ~FSpec();

		virtual void Init();

		virtual void Reset();

		/**
		 * Mengartikan Raw Data menjadi kelas entitas
		 * @param p_Data Raw Data yang akan diartikan
		 */
		void ReadRawData(Core::RawData& p_Data);

		/**
		 * Menuliskan entitas ke Raw Data
		 * @param p_Data Raw Data tempat entitas akan menuliskan
		 */
		void WriteRawData(Core::RawData& p_Data);
	};
}
